package entity

import (
	"gorm.io/gorm"
	"time"
)

// Userinfo 用户信息
type Userinfo struct {
	gorm.Model
	Username       string `gorm:"column:username;comment:'用户名称'" json:"username"`
	Password       string `gorm:"column:password;comment:'账号密码'" json:"-"`
	PasswordForReq string `gorm:"-" json:"password"`
	RealName       string `gorm:"column:real_name;comment:'真实名称'" json:"realName"`
	Dept           string `gorm:"column:dept;comment:'部门'" json:"dept"`
	Position       string `gorm:"column:position;comment:'职位'" json:"position"`
	Tel            string `gorm:"column:tel;comment:'联系方式'" json:"tel"`
	Role           string `gorm:"column:role;comment:'角色 admin / user'" json:"role"`
	//到期后第二天0点失效 v1.4新增
	ExpireDate time.Time `gorm:"column:expire_date;comment:'过期时间'" json:"expireDate"`
	//登录token v1.4新增
	Token string `gorm:"column:token;comment:'token'" json:"-"`
	//是否超级管理员
	IsSuperAdmin bool `gorm:"column:is_super_admin;comment:'是否超级管理员'" json:"isSuperAdmin"`
	//创建人
	CreateUserId   uint      `gorm:"column:create_user_id;comment:'创建人'" json:"createUserId"`
	CreateUser     *Userinfo `gorm:"foreignKey:CreateUserId" json:"-"`
	CreateUserName string    `gorm:"-" json:"createUserName"`
}
